package com.quectel.core.module.propertybill.dto;

import com.quectel.core.module.household.dto.HouseholdDto;
import com.quectel.core.module.village.dto.VillageRoomDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author zhangheng
 * @email nolan.zhang@quectel.com
 * @date 2023/03/31 16:28
 */
@Data
@Schema
public class PropertyBillActivityDto implements Serializable {

    /**
     * id
     */
    @Schema(description = "id")
    private Long id;

    /**
     * 租户id
     */
    @Schema(description = "租户id")
    private Long tenantId;

    /**
     * 小区id
     */
    @Schema(description = "小区id")
    private Long villageId;

    /**
     * 房间id
     */
    @Schema(description = "房间id")
    private Long roomId;

    /**
     * 账单id
     */
    @Schema(description = "账单id")
    private Long billId;

    /**
     * 赠品名称
     */
    @Schema(description = "赠品名称")
    private String activityName;

    /**
     * 赠品价值
     */
    @Schema(description = "赠品价值")
    private BigDecimal activityAmount;

    /**
     * 赠品详情
     */
    @Schema(description = "赠品详情")
    private String activityDetail;

    /**
     * 赠品确认状态0未确认1已确认
     */
    @Schema(description = "赠品确认状态0未确认1已确认")
    private Byte confirmStatus;

    /**
     * 赠品确认时间
     */
    @Schema(description = "赠品确认时间")
    private Date confirmTime;

    /************非数据库字段 start ************/
    /**
     * 小区房间dto
     */
    @Schema(description = "小区房间dto")
    private VillageRoomDto villageRoom;

    /**
     * 业主
     */
    @Schema(description = "业主")
    private HouseholdDto owner;

    /**
     * 账单dto
     */
    @Schema(description = "账单dto")
    private PropertyBillDto propertyBill;

    /************非数据库字段 end **************/
}
